perm filename ALPHA.FAI[NEW,LCS]9 blob sn#513516 filedate 1980-05-20 generic text, type T, neo UTF8
00100		TITLE ALPHA
00200		ENTRY ALPHA
00300		INTERNAL NFONT
00400		EXTERNAL .COMM.,STF,POSI,PLTR,FONT,SPACER,PNUM,ROFF
00500		EXTERNAL ITMSUB,RHORZ,CLEFS,KSIG,LINES,ALF,OLDTOP,NOTWRT
00600	DEFINE JTR<.COMM.+=20> ↔ DEFINE RB<.COMM.+=43> ↔DEFINE RW<.COMM.+=42>  
00700	DEFINE RX<.COMM.+=40> ↔DEFINE RY<.COMM.+=39> ↔ DEFINE R<.COMM.+=23>
00800	DEFINE RF<.COMM.+=18> ↔ DEFINE JR3<.COMM.+=27>↔	DEFINE IFNT<.COMM.+=36> 
00900	DEFINE RZ<.COMM.+=41>↔ DEFINE JX<.COMM.+=34> ↔ DEFINE R8<.COMM.+=9>
01000	DEFINE J8<.COMM.+=29>
01100	FILL:	0
01200	NFONT:	ASCII/BDR40/		;WILL BE CURRENT FONT NAME
01300	FNAME:	ASCII/PRIM0/		;POSSIBLE FONT NAMES - FOR NOW.
01400		ASCII/BDR40/
01500		ASCII/BDI40/
01600		ASCII/BDL40/		;BDR LIGHT-FACE
01700	
01800	ALPHA:	0
01900		MOVE .COMM.+1		;JA
02000		CAIN 7	
02100		JRST AL20		;JA=7 IS FOR TRILLS, ETC.
02200	;;	SKIPN 1,.COMM.+=13	;IF(R12.EQ.0)SKIP
02300	;;	JRST ALPH
02400	;;	MOVE .COMM.+6		;SIZE=P5*RSTJ2
02500	;;	MOVEM SIZE#
02600	ALPH:	MOVEI =99
02700		MOVEM JTR
02800		MOVE .COMM.+6
02900		CAMGE [100.0]
03000		JRST .+3
03100		MOVN [100.0]
03200		FADRM .COMM.+6		;IF(R5.GE.100)R5=R5-100
03300		MOVN 1,FONT		;SHI=ITAL., SHP=PRIM, SHO=BDR
03400		JUMPLE 1,ALX54		;IF(JFONT.GE.0)GO TO ALX54
03500		MOVEI 1
03600		MOVEM FONT		;JFONT=1
03700		MOVE FNAME-1(1)		;GET THE DESIRED FONT NAME
03800		JRST AL54-1		; PUT IT IN NR
03900	ALX54:	MOVE NFONT
04000		CAME FNAME
04100		CAMN FNAME+2
04200		JRST AL54
04300		MOVE FNAME+1		;DEFAULT FONT IS BDR40
04400		MOVEM NFONT
04500	AL54:	MOVE [19.7]
04600		FMPR .COMM.+6
04700		FMPR STF+=8
04800		MOVEM R		;OR JUST LEAVE IN AC0
04900	
05000		FLTR 1,.COMM.+=24		;MOVE 1,.COMM.+=24	;J3
05100		MOVEM 1,RB		; OR LEAVE IN AC1
05200		MOVE 2,.COMM.+5
05300		MOVEM 2,RW		; OR LEAVE IN AC2
05400		SETZM .COMM.+=30	;J9=0
05500		MOVEI 15,4
05600	AL50X:	SETOM NXZ#		; THE BIG LOOP
05700		MOVEM 15,K#
05800		MOVE 3,.COMM.+3(15)	;RZ IS AC3
05900		FADR 3,[0.2]
06000		KIFIX 0,3		;JSA 16,IFIX
06100					;	JUMP 3
06200		MOVEM JY#
06300		MOVE 4,[=1000000]	; 4 IS JX
06400		MOVEM 4,JX
06500		MOVEI 14,1		; LA
06600	AL53X:	MOVEM 14,LA#
06700		MOVE JY
06800		IDIV JX
06900		MOVEM J5X#
07000		FLTR 2,.COMM.+=24		;MOVE 2,.COMM.+=24	;R3=J3
07100						;	TLC 2,232000
07200						;	FADR 2,2
07300		MOVEM 2,.COMM.+4
07400		CAIN =99
07500		JRST AL55
07600	AL73:	SKIPL KFNT#
07700		JRST .+3
07800		MOVEI 2,1
07900		MOVEM 2,IFNT
08000		CAIGE =70
08100		JRST AL72
08200		SETOM KFNT
08300		SETOM IFNT
08400		SUBI =60
08500		MOVEM .COMM.+=26	; J5
08600	
08700	AL72:	CAIGE =48
08800		JRST AL1
08900	
09000		CAIN =48	; 48=BDL  LIGHT-FACE FONT
09100		JRST BDL
09200		CAIG =49
09300		JRST AL72X
09400		CAIN =50
09500		JRST AL2
09600		CAIN =51
09700		JRST AL3
09800		CAIN =52
09900		JRST AL9
10000		CAIN =53
10100		JRST AL4
10200		CAIN =54
10300		JRST AL5
10400	AL72X:	CAILE =55
10500		JRST AL10
10600		MOVEI =36  ;J5=36 LINE 6200 IN ALPHA.F4 11/3/76
10700		MOVE 2,[2.9]
10800		FMPR 2,.COMM.+6		;R4=R4+2.9*R5
10900		FADRM 2,.COMM.+5	; R4
11000		JRST AL1
11100	
11200	AL3:	MOVE 2,FNAME+2        	; CODE 51
11300		SKIPA
11400	
11500	AL2:	MOVE 2,FNAME+1   	; CODE 50
11600		SKIPGE FONT
11700	AL9:	MOVE 2,FNAME          	; CODE 52
11800		MOVEM 2,NFONT
11900		JRST AL11
12000	BDL:	MOVE 2,FNAME+3		;CODE 53  BDR LIGHT-FACE
12100		JRST AL2+1
12200	
12300	AL4:	MOVNI 2,2	;FILL=-2 FOR NO FILLER WHEN PRINTING ********
12400		MOVEM 2,FILL      	;FILL WAS EQUIV. TO RJQ(19)
12500		JRST AL11
12600	
12700	AL5:	SETZM FILL	;****** DANGER ****************
12800		JRST AL11	;MUST BE RESET IF 'NOFILL' WAS USED ***********
12900	
13000	AL10:	ADDI 6
13100		MOVE 2,NFONT
13200		MOVEM 2,NRX#
13300		SETZM NXZ#
13400		MOVE 2,FNAME+1
13500		MOVEM 2,NFONT
13600		MOVE 2,FONT
13700		MOVEM 2,NJF#
13800		SETOM FONT		; JFONT
13900	
14000	AL1:	MOVEM .COMM.+=26	;PUT AWAY J5
14100		CAIL =70	;IF(J5.LT.70.OR.J5.GT.74)GO TO AL71  70=64=ACCENT #1
14200		CAIL =76
14300		JRST AL12
14400		CAIE =75		;IS IT 1/8 NOTE (69+6=75)
14500		JRST .+4		;NO
14600		MOVEI =70		;YES
14700		MOVEM .COMM.+=26	;J5=70  (IT'S IN BDR47, LOC.0)
14800		JRST AL12
14900		MOVE 2,FNAME+2		;FOR ACCENTS OVER CHARS.
15000		MOVEM 2,NFONT		;GET BDI40 
15100		SUBI 0,6		;SET BACK THE CHAR. NUMBERS TO 64-68
15200		JRST AL71-1	;GO PUT AC0 BACK INTO J5
15300	
15400	AL12:	MOVEM 0,OLDJ5#
15500		CAIGE =64	;IF 64 OR 65 TAKE AWAY 6   1/4 1/2
15600		JRST AL12X
15700		MOVE 1,0
15800		CAIG =65
15900		SUBI 1,6
16000		CAIN =70	;IF 70 TAKE AWAY 1     1/8
16100		SOJ 1, 
16200		MOVEM 1,.COMM.+=26	;PUT REVISED NUM INTO J5
16300	
16400	AL12X:	JSA 16,SPACER
16500		JUMP .COMM.+=26		;J5
16600	        JUMP IFNT
16700		JUMP RB
16800		JUMP R
16900		MOVE OLDJ5
17000		MOVEM .COMM.+=26		;GET BACK ORIGINAL FORM OF J5
17100		CAILE =60
17200		JRST AL71
17300		CAIN =47
17400		JRST AL6
17500		CAIL =47
17600		JRST AL11
17700		SKIPN .COMM.+=13    ;IF(P11.NE.0.AND.P12.EQ.0)GO TO AL79 ROTATE
17800		SKIPN 2,.COMM.+=12		; LABEL 7 IN ALPHA.F4
17900		SKIPA     
18000		JRST AL79
18100		SKIPG FONT		;NO ROTATION   P11=0 OR P12.NE.0 (=DASH)
18200		JRST AL78
18300		JRST AL77
18400	AL79:	MOVEM 2,.COMM.+=10		; R9=R11 (DEGREES OF ROTATION
18500		SETOM .COMM.+=30	;J9=-1	  FOR ROTATION IN 'CLEFS'
18600		JRST AL77
18700	AL277:	MOVE 2,FNAME		;IF(NFONT.NE.'PRIM0')GO TO 70
18800		CAME 2,NFONT
18900		JRST AL70
19000		SKIPGE IFNT
19100		CAIGE =10
19200		JRST AL30
19300		JRST AL71
19400	
19500	AL177:	ADDI =22	   ;J5=J5+22   (=62 )=63 IN BDI  (BDI46)
19600		MOVEM .COMM.+=26
19700		MOVE NFONT 		;SAVE OLD FILE NAME
19800		MOVEM NRX
19900		MOVE FNAME+2		;BDI40
20000		MOVEM NFONT
20100		MOVE FONT
20200		MOVEM NJF		;SAVE FONT FLAG
20300		SETZM NXZ	;FLAG TO GET BACK RIGHT FLAGS BEFORE AL30
20400		JRST AL71
20500	
20600	AL70:	CAILE =9
20700		SKIPL IFNT	;IFNT IS .COMM.+=36
20800		JRST AL71
20900		ADDI =26
21000		MOVEM .COMM.+=26	; J5
21100	
21200	AL71:	MOVE 2,.COMM.+7
21300		MOVEM 2,RX
21400		MOVE 2,[0.28]
21500		FMPR 2,.COMM.+6
21600		MOVEM 2,.COMM.+7
21700		MOVE 3,.COMM.+=8
21800		MOVEM 3,RY
21900		MOVEM 2,.COMM.+=8
22000		MOVE 2,R8
22100		MOVEM 2,RZ		; LINE 11400 IN ALPHA.F4
22200		MOVE 2,[-2.1]
22300		FADRM 2,.COMM.+5
22400	 	MOVE 2,FILL
22500		MOVEM 2,J8
22600		MOVE 2,NFONT
22700		MOVEM 2,.COMM.+=11	; NRJ IS EQUIV TO R10
22800		MOVEI 2,=12
22900		MOVEM 2,.COMM.+1
23000		SETZM R8		;TO AVOID CLEFS THICKENER
23100		JSA 16,CLEFS
23200		MOVE 2,RX
23300		MOVEM 2,.COMM.+7
23400		MOVE 2,RY
23500		MOVEM 2,.COMM.+=8
23600		MOVE 2,RZ
23700		MOVEM 2,R8
23800		SKIPGE NXZ
23900		JRST AL6
24000		MOVE 2,NRX
24100		MOVEM 2,NFONT
24200		MOVE 2,NJF
24300		MOVEM 2,FONT
24400		JRST AL6
24500	
24600	AL78:	SKIPL PLTR		;IF(PLTR.GE.0)GO TO 30
24700		JRST AL30
24800	AL77:	CAIGE =36		;IF(J5.LT.36)GO TO 277
24900		JRST AL277
25000		CAIE =40		; A LEFT PARENTH?
25100		CAIN =41		; A RIGHT  "
25200		JRST AL177
25300		CAIE =43		;IF(J5.NE.43)GO TO AL30   CATCH ASTERISK
25400		JRST AL30
25500		MOVE 2,NFONT
25600		CAMN 2,FNAME		; IF(NFONT.EQ.'PRIM0')GO TO AL30
25700		JRST AL30
25800		CAMN 2,FNAME+2		;IF(NFONT.EQ.'BDI40')GO TO AX77
25900		JRST AX77
26000		MOVEM 2,NRX		;NRX=NFONT  STORE IT FOR LATER USE
26100		SETZM NXZ		;SET RETRIEVAL FLAG
26200		MOVEM NJF		;MAKE NJF ANY POS. NUM.
26300		MOVE 2,FNAME+2		;NFONT='BDI40'
26400		MOVEM 2,NFONT
26500	AX77:	MOVEI =69		;J5=69
26600		MOVEM .COMM.+=26
26700		JRST AL71		;GO TO AL71
26800	
26900	AL30:	SETZM .COMM.+=28	;J7=0
27000		MOVE 2,.COMM.+6
27100		MOVEM 2,.COMM.+7
27200		JSA 16,PNUM
27300	AL6:	JSA 16,ROFF
27400		JUMP RB
27500		KIFIX 0,0		;MOVE 2,
27600					;	JSA 16,IFIX
27700					;	JUMP 2
27800		MOVEM .COMM.+=24	;J3=ROFF(RB)
27900		MOVE 2,RW
28000		MOVEM 2,.COMM.+5
28100	AL11:	MOVN 2,J5X
28200		IMUL 2,JX
28300		ADDM 2,JY
28400	AL53:	MOVE 2,JX
28500		IDIVI 2,=100
28600		MOVEM 2,JX
28700		MOVE 14,LA
28800		CAIGE 14,4
28900		AOJA 14,AL53X
29000	
29100	AL50:	MOVE 15,K
29200		CAIGE 15,6
29300		AOJA 15,AL50X
29400	AL55:	MOVE 2,JTR
29500		CAIE 2,=99
29600		JRST AL52
29700		MOVE NFONT
29800		MOVEM SAVFNT
29900		JRST AL100
30000	
30100	AL20:	MOVE .COMM.+7	; FOR TRILLS, ETC.      R6
30200		MOVEM RF
30300		MOVE NFONT
30400		MOVEM SAVFNT#	;SAVE THE FONT NAME, RETURN IT AT END.
30500		MOVE .COMM.+=28		; J7 IS IN AC0	 SAVE J7 IN TRILL
30600		MOVEM TRILL#
30700		CAIG 1
30800		JRST AL200
30900		CAIL =8
31000		JRST AL201
31100	
31200		MOVE 2,R8	;NOE PED. MARKS    J7 >1, <8
31300		MOVEM 2,RW
31400		MOVE 2,.COMM.+4
31500		MOVEM 2,RB
31600		MOVEM NFONT	; NFONT=J7
31700		MOVE 2,.COMM.+=26	;J5
31800		MOVEM 2,JY
31900		MOVE 2,.COMM.+=10	;R9
32000		JUMPN 2,.+3
32100		MOVSI 2,201400		;[1.0]
32200		MOVEM 2,.COMM.+=10
32300		MOVEM 2,RY
32400		FMPR 2,STF+=8
32500		FMPR 2,[23.84]
32600		MOVEM 2,RX
32700		MOVE 2,[0.45]
32800		FMPR 2,RY
32900		MOVEM 2,.COMM.+7
33000		SETZM .COMM.+=30	; J9=0  LINE 16500
33100		MOVEI 2,=18
33200		MOVEM 2,.COMM.+=26
33300		MOVEI 2,3
33400		MOVEM 2,.COMM.+1	;JA=3
33500		SETZM .COMM.+6
33600		SETZM .COMM.+=8
33700		MOVSI 2,574200		;[-6.0]
33800		FADRM 2,.COMM.+5	;R4=R4-6   PUTS PED MARK BELOW STF.
33900		SETZM R8        	;R8=0  NEEDED IN CLEFS.
34000		JSA 16,CLEFS
34100	
34200		SKIPN 1,JY
34300		JRST AL222
34400		MOVSI 2,576400		;[-1.0]
34500		MOVEM 2,R8	   	; R8=-1
34600		MOVEI 2,=19
34700		MOVEM 2,.COMM.+=26	; J5=19
34800		CAIGE 1,=100
34900		JRST AL203
35000		SUBI 1,=100
35100		MOVEM 1,JY
35200		JSA 16,CLEFS
35300	AL203:	MOVE 2,RB
35400		FADR 2,RX
35500		MOVEM 2,.COMM.+4
35600		MOVE JY
35700		CAIGE =10
35800		JRST AL204
35900		SUBI =10
36000		MOVEM JY
36100		JSA 16,CLEFS
36200	AL204:	MOVE 2,RB
36300		FADR 2,RX
36400		FADR 2,RX	; R3=RB+RX+RX
36500		MOVEM 2,.COMM.+4
36600		SKIPE JY
36700		JSA 16,CLEFS
36800	
36900	AL222:	MOVE NFONT		;NFONT SAVED J7
37000		CAIN 2
37100		JRST TRLEND
37200		SKIPN 2,RW		;RW SAVED R8
37300		JRST ALX
37400		FMPR 2,[5.96]
37500		FSBR 2,RB
37600		MOVNM 2,.COMM.+4
37700	ALX:	MOVE 2,POSI+=9		;RX=POS
37800		MOVEM 2,RX
37900		MOVE 2,RF
38000		MOVEM 2,.COMM.+=7
38100		MOVSI 2,202600		;[3.0]
38200		FADRB 2,.COMM.+5
38300		MOVEM 2,.COMM.+6	;R5=R4
38400		SETZM .COMM.+=28
38500		SETZM .COMM.+=8
38600		SETZM R8
38700		SETZM .COMM.+=11	; R10=0
38800	AL206:	JSA 16,ITMSUB
38900		MOVE NFONT
39000		CAIN 4			;J7=4=NO BRACK.
39100		JRST TRLEND
39200	;;	CAIE 5			;IF(J7.EQ.5.OR.J7.EQ.7)GO TO AX206
39300	;;	CAIN 7	6 AND 7 NOT ACTIVATED****	;=5= →   =7= ↔   =6= ←¬
39400		CAIN 5			;IF(J7.EQ.5)GO TO AX206   MAKE AN ARROW →
39500		JRST AX206
39600		MOVSI 204500		;10.0
39700		FMPR RY			;*RSTJ2*R9
39800		FMPR STF+=8    ;THIS WILL BE VERTICAL PART OF BRACK. END.
39900		FADRM OLDTOP		;* THE Y COORD. FROM LAST 'LINES' CALL
40000		JSA 16,LINES
40100		JUMP ALF+=10		;THE LAST X COORD. TO 'LINES'
40200		JUMP OLDTOP		; Y
40300		JUMP [2]	; IF CHANGES ARE MADE IN ITMSUB THIS IS WRECKED!!
40400	;;;	              		;R3=ROFF(RHORZ(RF))
40500		JRST TRLEND
40600	
40700	AX206:	MOVSI 2,202440		;2.25  LENGTH OF ARROW (CRESC.) =2*STFSIZ*R9
40800		FMPR 2,RY		;*R9
40900		FMPR 2,STF+8
41000		MOVE 3,[2.12]
41100		FADRM 3,.COMM.+5	;R4=R4+2.12  (R4 WAS EARLIER R4-3)
41200		MOVEI 3,4		;JA=4
41300		MOVEM 3,.COMM.+1
41400		MOVEI 3,=50		;J5=50  (FOR CRESC.)
41500		MOVEM 3,.COMM.+=26
41600		MOVE 3,[1.29]		;1.29*R9  WIDTH OF OPENING
41700		FMPR 3,RY		; (*R9)
41800	;;	CAIN 6			;IF → CHANGE TO NEG.   -- FOR R7
41900	;;	JRST AY206		;NEXT FOR →
42000		MOVE 5,RF		;GET SAVED R6
42100		MOVEM 5,.COMM.+7
42200		FSBR 5,2		;SUBTRACT SIZE OF ARROW
42300		FMPR 5,[5.96]		;*5.96-596.0
42400		FSBR 5,[596.0]
42500	;;	JRST AZ206
42600	
42700	;;AY206:	MOVNS 3			;THIS FOR ←
42800	;;	FADR 2,RW		;GET R6
42900	;;	MOVEM 2,.COMM.+7
43000	;;	MOVN 5,RW		;GET R8
43100	;;	FMPR 5,[5.96]
43200	;;	FMPR 5,STF+8		;*RSTJ2*5.96
43300	;;	FADR 5,RB		;R3=R3-R8*↑
43400	
43500	AZ206:	MOVNM 3,.COMM.+8	;R7
43600		MOVEM 5,.COMM.+4	;R3
43700		JSA 16,ITMSUB		;GO DRAW CRESC.
43800	;;	MOVE NFONT		;GET BACK J7
43900	;;	CAIE 7			;IF(J7.NE.7)GO TO TRLEND
44000		JRST TRLEND
44100	;;	MOVEI 6
44200	;;	MOVEM NFONT
44300	;;	JRST AX206		;NOW DO 2ND ARROW, I.E. ←
44400	
44500	
44600	AL202:	MOVE 7,[47717088.0]	; FOR 8VA BASSA
44700		MOVE 2,[88709999.0]
44800		MOVEM 2,R8
44900		MOVSI 10,210424		;[138.0]
45000		JRST AL214-1
45100	
45200	AL201:	SKIPN 2,.COMM.+6		;CALL NOZERO(R5)
45300		MOVSI 2,201400		;[1.0]
45400		MOVEM 2,.COMM.+6
45500		MOVE .COMM.+=28
45600		CAIN =15
45700		JRST AL205
45800		MOVSI 10,206570		;[47.0]
45900		MOVE 7,[99999999.0]
46000		MOVE 6,[51089170.0]
46100	AL214:	MOVEM 10,RR10#
46200		MOVE 2,.COMM.+6
46300		FMPR 2,STF+=8		;RR5 IS AC2
46400		FMPR 10,2	;AC10 WILL BE RR3
46500		FADR 10,.COMM.+4
46600		MOVEM 10,RR3#
46700		SETOM JTR
46800		MOVE 2,.COMM.+=28
46900		MOVEM 2,.COMM.+=25	;J4=J7
47000		MOVE 2,J8
47100		MOVEM 2,.COMM.+=31	;J10=J8
47200		JRST AL212
47300	
47400	AL205:	MOVE 6,[51010582.0]
47500		MOVE 7,[70999999.0]
47600		MOVSI 10,206700		;[56.0]
47700		JRST AL214
47800	
47900	AL213:	MOVE 2,[1.8]
48000		FMPR 2,.COMM.+6		; WAS → FMPR 2,RR5
48100		MOVEM 2,R8
48200		SETZM .COMM.+=10 
48300		MOVE 2,RR3
48400		MOVEM 2,.COMM.+4
48500		MOVE 2,RF
48600		MOVEM 2,.COMM.+7
48700		MOVE 2,[0.7]
48800		FMPR 2,STF+=8
48900		FADRB 2,.COMM.+5
49000		MOVEM 2,.COMM.+6 
49100		SETOM .COMM.+=32	;J11=-1
49200		SKIPGE .COMM.+=25
49300		MOVNS .COMM.+=32	;IF(J4)J11=-J11
49400		SKIPE .COMM.+=31	;IF(J10.NE.)J11=0
49500		SETZM .COMM.+=32
49600		MOVEI 2,1
49700		MOVEM 2,.COMM.+=28
49800		SETZM .COMM.+=31	;J10=0
49900		JSA 16,ITMSUB
50000		JRST TRLEND
50100	
50200	AL200:	MOVE 2,.COMM.+6
50300		JUMPN 2,.+3
50400		MOVSI 2,201400		;[1.0]
50500		MOVEM 2,.COMM.+6
50600		MOVN 4,.COMM.+=28	;IF(J7.EQ.-8)GO TO 202
50700		CAIN 4,=8
50800		JRST AL202		;← TO OTTAVA BASSA
50900		MOVEM 2,RR10
51000		MOVSI 2,203600		;[6.0]
51100		FMPR 2,STF+=8
51200		KIFIX 0,2		;IFIX
51300		ADDB .COMM.+=24		;J3=J3+6*RSTJ2
51400		MOVEM JR3
51500		MOVE 6,[51898799.0]	; MAKE UP "TR"
51600	;;	MOVE 7,[99999999.0]
51700		SETZ 7,		;MAKE R7=0
51800		MOVNM 4,JTR	; -J7 WAS IN AC4
51900	AL212:	MOVEM 6,.COMM.+=7   ; JTR IS TRILL FLAG IN LETTERS SECTION.
52000		MOVEM 7,.COMM.+=8
52100		MOVE 2,[0.8]
52200		FMPRM 2,.COMM.+6
52300		JRST AL54
52400	
52500	AL52:	KIFIX .COMM.+=9	
52600		MOVEM .COMM.+=26	;J5=R8  (FOR ACCI OVER TR)
52700		MOVE POSI+11 		;SAVE 'POS' IN K FOR ACCI ROUTINE
52800		MOVEM K
52900		SKIPE JTR	;J7=1=NO WIGGLE, 0=YES
53000		JRST ACCI		
53100		FLTR 3,JR3		;FLOAT JR3
53200		MOVSI 2,205500		;[20.0]
53300		FMPR 2,STF+=8
53400		FMPR 2,RR10
53500		FADR 2,3
53600		MOVEM 2,.COMM.+4
53700		MOVEI 4
53800		MOVEM .COMM.+1
53900		MOVEI 2
54000		MOVNM .COMM.+=28
54100		MOVE RF
54200		MOVEM .COMM.+7
54300		MOVE [0.7]
54400		FMPR RR10
54500		MOVEM .COMM.+=10
54600		MOVE [0.9]
54700		FMPR RR10
54800		MOVEM R8
54900		SETZM .COMM.+=31
55000		SKIPGE PLTR
55100		AOS .COMM.+=31
55200		JSA 16,ITMSUB
55300	ACCI:	SKIPGE 2,TRILL		;NEXT PUTS ACCI OVER TR IF 1, 2 OR 3 IN P8
55400		JRST AL100		;IF  J7 (TRILL)=0 OR 1 IT'S A TRILL
55500		CAIG 2,1	 	;ELSE GO TO TRLEND (NO ACCI POSSIBLE)
55600		SKIPN .COMM.+=9		;IF(R8.EQ.0)GO TO TRLEND (R8 HAS ACCI. NUM.)
55700		JRST AL100 		; NO ACCI. - JUMP
55800		MOVE K			;GET BACK 'POS' (IT GOT CHANGED IN WIGGLE)
55900		MOVEM POSI+11		; POS
56000		MOVSI 205660		;[27.0]   CENTR=CENTR+27*RSTJ2
56100		FMPR STF+10		; *RSTJ2
56200		FADRM .COMM.+2		; CENTR
56300		MOVE [0.9]   		;R6=R5*.9
56400		FMPR .COMM.+6
56500		MOVEM .COMM.+7
56600		FLTR 2,.COMM.+30	;R3=J3-12*RSTJ2
56700		MOVSI 573100		;[-14.0]
56800		FMPR STF+10
56900		FADR 2
57000		MOVEM .COMM.+4
57100		MOVSI 202740		;R4=R4+3.75
57200		FADRM .COMM.+5		; R4 IS FOR NON-FONT DISPLAY ONLY
57300		SETZM .COMM.+8		;R7=0
57400		SETZM .COMM.+9		;R8=0
57500		SETZM .COMM.+12		;R9=0
57600		MOVEI 9			;JA=9
57700		MOVEM .COMM.+1
57800		JSA 16,NOTWRT		;GO MAKE THE ACCI.
57900	
58000	AL100:	SKIPGE JTR
58100		JRST AL213
58200		SKIPL KFNT
58300		JRST .+3
58400		MOVEI 1
58500		MOVEM IFNT
58600		SETZM KFNT
58700	TRLEND:	MOVE SAVFNT	;GET BACK ORIGINAL FONT NAME
58800		MOVEM NFONT
58900	;;	SKIPN 1,.COMM.+=13	;IF(R12.EQ.0)RETURN
59000		JRA 16,(16)	;END
59100	
59200	;;	MOVEI 4			;NEXT FOR DASH AFTER SYLLABLE
59300	;;	MOVEM .COMM.+1		;JA=4
59400	;;	MOVE .COMM.+=13		;GET ENDPOINT OF DASH  P12=LENGTH OF DASH
59500	;;	FADR .COMM.+=12		; END OF DASH = P11+P12
59600	;;	MOVEM .COMM.+7		;R6=DSHEND
59700	;;	JSA 16,RHORZ   		;R3=RHORZ(R11)  LEFT SIDE OF DASH
59800	;;	JUMP .COMM.+=12
59900	;;	MOVEM .COMM.+4
60000	;;	MOVN [0.5]		;SET HEIGHT OF DASH
60100	;;	FMPR SIZE		;*SIZE FACTOR (P5*RSTJ2)
60200	;;	FADR [1.0]
60300	;;	FADRB .COMM.+5		;R4=R4+.5*RSTJ2*P5
60400	;;	MOVEM .COMM.+6		;R5=R4
60500	;;	SETZM .COMM.+=26	;J5=0
60600	;;	SETZM .COMM.+8		;R7=0
60700	;;	SETZM .COMM.+=28	;J7=0
60800	;;	SETZM .COMM.+=9		;R8=0
60900	;;	SETZM .COMM.+=10	;R9=0
61000	;;	MOVE SIZE
61100	;;	FADR [0.5]	;***MOVE, L, R, COMMANDS DON'T CHANGE P11,P12 YET!!
61200	;;	KIFIX
61300	;;	MOVEM .COMM.+=31	;J10=SIZE+.5
61400	;;	JSA 16,ITMSUB		;GO MAKE DASH
61500	;;	JRA 16,(16)
61600	
61700	BLANK:	0.70	;NEW SIZE FOR BLANKS  1/80  (OLD SIZE WAS 1.0)
61800	SPACER:	0	;CALL SPACERR(J5,IFNT,RB,R)
61900		MOVE @(16)	; J5 FOR NOW
62000		CAILE =47
62100		JRST SP10
62200		CAIG =9
62300		JRST SP117
62400		CAIGE =36
62500		JRST SP10
62600	SP117:	MOVSI 3,201400		;[1.0]	  AC3 IS RSX
62700	;************************ NEW BLANK SIZE *******************
62800		CAIN =47	;IS IT A BLANK?
62900		MOVE 3,BLANK	;IT IS!  NEW SIZE=.70, OLD SIZE=1.0 CHANGE IN DDT IF NEEDED.
63000		SKIPGE  @1(16)	;IFNT FOR NOW
63100		MOVE 3,[0.9]
63200		CAIE =39		;;IS IT '='?
63300		JRST SP3
63400		MOVE 3,[1.2096]		;YES  GIVIT MORE SPACE
63500		JRST SP21
63600	
63700	SP14:	SETZM @1(16)	
63800		MOVEI 2,=10
63900		MOVEM 2,.COMM.+1		;JA=10
64000		JRA 16,4(16)
64100	
64200	SP10:	CAIGE =47
64300		JRST SP5
64400		CAIN =52
64500		JRST SP14
64600		CAIGE =55
64700		JRA 16,4(16)
64800		
64900	SP5:	MOVE 3,[1.08]
65000		SKIPGE @1(16)
65100		MOVE 3,[0.96]
65200		CAIE =69	;IS IT 1/8 NOTE?
65300		CAIN =22	;IS IT M?
65400		JRST SP277
65500		CAIE =58	;IS IT 1/4 NOTE?
65600		CAIN =59	;IS IT 1/2?
65700		JRST SP277
65800		CAIE =32	;IS IT W?
65900		JRST SP3
66000	SP277:	FMPR 3,[1.12]		;3 IS RSX
66100	SP3:	CAIGE =36
66200		CAIN 1
66300		JRST SP21
66400		CAIE =18
66500		CAIN =19
66600		JRST SP21
66700		SKIPL @1(16)
66800		JRST SP4
66900		CAIE =15	; NEXT FOR LOWER CASE SPACING
67000		CAIN =21
67100		JRST SP21
67200		CAIE =29
67300		JRST SP4
67400	SP21:	CAIE =47
67500		FMPR 3,[0.68]     ;SPACER FOR A BLANK
67600	SP4:	FMPR 3,@3(16)	;RB=RB+R*RSX
67700		FADRM 3,@2(16)
67800		JRA 16,4(16)
67900		END